package com.system.service.impl;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.system.dao.UserDao;
import com.system.entity.PageBean;
import com.system.entity.User;
import com.system.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service("userService")
public class UserServiceImpl implements UserService {

    @Autowired
    UserDao userDao;
    /**
     * 分页查询-条件查询方法
     *
     * @param user 查询条件
     * @param pageCode 当前页
     * @param pageSize 每页的记录数
     * @return
     */

    @Override
    public PageBean findByPage(User user, int pageCode, int pageSize) {
        //使用Mybatis分页插件
        PageHelper.startPage(pageCode, pageSize);

        //调用分页查询方法，其实就是查询所有数据，mybatis自动帮我们进行分页计算
        Page<User> page = userDao.findByPage(user);

        return new PageBean(pageCode, (int)Math.ceil((double)(page.getTotal() / (double)pageSize)), (int)page.getTotal(), pageSize, page.getResult());
    }

    @Override
    public void deleteUser(Integer id) {
        userDao.deleteUser(id);
    }

    @Override
    public User findById(Integer uid) {
        return userDao.findById(uid);
    }

    @Override
    public void addUser(User user) {
        userDao.addUser(user);
    }

    @Override
    public void updateUser(User user) {
        userDao.updateUser(user);
    }
/*
* 批量删除
* */
    @Override
    public void deleteUserByIds(Integer[] ids) {
        userDao.deleteUserByIds(ids);
    }
//验证用户ID号是否存在
    @Override
    public User userValidate(User user) {
        return userDao.userValidate(user);
    }


}
